package com.company.设计模式.单例模式;

/**
 * @Classname Singleton3
 * @Description 懒汉式线程安全
 * 著作权归https://pdai.tech所有。
 * 链接：https://www.pdai.tech/md/dev-spec/pattern/2_singleton.html
 * 只需要对 getUniqueInstance() 方法加锁，
 * 那么在一个时间点只能有一个线程能够进入该方法，
 * 从而避免了多次实例化 uniqueInstance 的问题。
 * 但是当一个线程进入该方法之后，其它试图进入该方法的线程都必须等待，
 * 因此性能上有一定的损耗
 * @Date 2021/9/10 10:35
 * @Created by ylr
 */
public class Singleton3 {
    private static Singleton3 uniqueInstance;

    private Singleton3() {
    }

    public static synchronized Singleton3 getUniqueInstance(){

        if (uniqueInstance == null){
            uniqueInstance = new Singleton3();
        }
        return uniqueInstance;


    }


}
